package com.cy.store.mapper;


import com.cy.store.entity.Cart;
import com.cy.store.entity.Favor;
import com.cy.store.vo.CartVO;
import com.cy.store.vo.FavorVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/** 处理收藏数据的持久层接口 */
public interface FavorMapper {

    /**
     * 插入收藏数据
     * @param favor 收藏
     * @return 受影响的行数
     */
    Integer insert(Favor favor);

    /**
     * 根据用户id和商品id查询收藏中的数据
     * @param uid 用户id
     * @param pid 商品id
     * @return 匹配的收藏数据，如果该用户的收藏中并没有该商品，则返回null
     */
    Favor findByUidAndPid(
            @Param("uid") Integer uid,
            @Param("pid") Integer pid);

    /**
     * 修改购物车数据中商品的数量
     * @param fid 收藏数据的id
     * @param uid 用户id
     * @return 受影响的行数
     */
    Integer delete(
            @Param("fid") Integer fid,
            @Param("uid") Integer uid);

    /**
     * 查询某用户的购物车数据
     * @param uid 用户id
     * @return 该用户的购物车数据的列表
     */
    List<FavorVO> findVOByUid(Integer uid);
}
